home *** CD-ROM | disk | FTP | other *** search
/ PC Media 4 / PC MEDIA CD04.iso / share / prog / int32 / i32t.asm next >
Encoding:
Assembly Source File  |  1994-07-23  |  1.1 KB  |  81 lines

  1. .386p
  2. locals
  3.  
  4.  
  5. _DATA segment dword public 'DATA' use32
  6.     assume cs:_DATA
  7.  
  8. dummy    proc near
  9.  
  10. @@startThunk        label byte
  11.  
  12.     PUBLIC    __interrupt32Thunk
  13.  
  14. __interrupt32Thunk    label byte
  15.  
  16.     push    eax
  17.     push    ebx
  18.     push    ecx
  19.     push    edx
  20.     push    es
  21.     push    ds
  22.     push    esi
  23.     push    edi
  24.     push    ebp
  25.  
  26.     mov        ds, word ptr cs:[012345678h]
  27.  
  28.     PUBLIC    __I32TdsLoadLabel
  29. __I32TdsLoadLabel    EQU $ - @@startThunk - 4
  30.  
  31.     db    0e8h
  32.     dd    0
  33.  
  34.     PUBLIC    __I32TcallLabel
  35.  
  36. __I32TcallLabel        EQU $ - @@startThunk - 4
  37.  
  38.     pop    ebp
  39.     pop    edi
  40.     pop    esi
  41.     pop    ds
  42.     pop    es
  43.     pop    edx
  44.     pop    ecx
  45.     pop    ebx
  46.     pop    eax
  47.  
  48.     cmp    dword ptr chainOffset, 0
  49.     PUBLIC    __I32TchainCmp
  50. __I32TchainCmp        EQU $ - @@startThunk - 5
  51.     jne    @@chain
  52. @@iret:
  53.     iret
  54.  
  55. @@chain:
  56.     jmp    fword ptr [chainOffset]
  57.  
  58.     PUBLIC    __I32TchainLabel
  59. __I32TchainLabel    EQU $ - @@startThunk - 4
  60.  
  61.     PUBLIC    __I32TchainOffset
  62. __I32TchainOffset    EQU $ - @@startThunk
  63.  
  64. chainOffset    label    dword
  65.     dd    0
  66.  
  67.     PUBLIC    __I32TchainSel
  68. __I32TchainSel        EQU $ - @@startThunk
  69.     dw    0
  70.  
  71.     PUBLIC    __interrupt32ThunkSize
  72.  
  73. __interrupt32ThunkSize    EQU $ - @@startThunk
  74.  
  75. dummy    endp
  76.  
  77. _DATA ends
  78.  
  79. end
  80.  
  81.